package com.zone.sdk.module.appstore.entity;

import java.io.Serializable;
import java.util.LinkedList;
import java.util.List;

public class AppDetailSku implements Serializable {
    /**
     * 1-4-31-1 sku id
     */
    Integer skuId;
    /**
     * 1-4-31-2 sku 编码
     */
    String skuCode;
    /**
     * 1-4-31-3 sku名称
     */
    String skuName;
    /**
     * 1-4-31-4 价格
     */
    String productPrice;
    /**
     * 1-4-31-5 商品属性
     */
    List<AppDetailSkuCategory> categoryAttr;
    /**
     * 1-4-31-6 标签
     */
    List<LabelItem> labelList;
    /**
     * 1-4-31-7 素材清单
     */
    List<ResourceItem> resourceList;
    /**
     * 1-4-31-8 开发者名称
     */
    String developerName;
    /**
     * 1-4-31-9 开发者电话
     */
    String developerPhone;
    /**
     * 1-4-31-10 开发者邮箱
     */
    String developerEmail;
    /**
     * 1-4-31-11 适用车型
     */
    String vehicleType;
    /**
     * 1-4-31-12 版本号
     */
    String version;
    /**
     * 1-4-31-13 版本更新时间
     */
    String versionUpdateTime;
    /**
     * 1-4-31-14 支持终端类型（0手机端1车机端2全部）
     */
    String supportType;
    /**
     * 1-4-31-15 网络（4G/5G）
     */
    String netProtocol;
    /**
     * 1-4-31-16 QQ群
     */
    String qqGroupNo;

    /**
     * 1-4-31-17
     * 应用包名
     */
    String packageName;
    /**
     * 1-4-31-18
     * 下载地址
     */
    String downloadUrl;
    /**
     * 1-4-31-19
     * 应用类型（1应用2小程序）
     */
    String appType;

    public Integer getSkuId() {
        return skuId;
    }

    public void setSkuId(Integer skuId) {
        this.skuId = skuId;
    }

    public String getSkuCode() {
        return skuCode;
    }

    public void setSkuCode(String skuCode) {
        this.skuCode = skuCode;
    }

    public String getSkuName() {
        return skuName;
    }

    public void setSkuName(String skuName) {
        this.skuName = skuName;
    }

    public String getProductPrice() {
        return productPrice;
    }

    public void setProductPrice(String productPrice) {
        this.productPrice = productPrice;
    }

    public List<AppDetailSkuCategory> getCategoryAttr() {
        return categoryAttr;
    }

    public void setCategoryAttr(List<AppDetailSkuCategory> categoryAttr) {
        this.categoryAttr = categoryAttr;
    }

    public List<LabelItem> getLabelList() {
        return labelList;
    }

    public void setLabelList(List<LabelItem> labelList) {
        this.labelList = labelList;
    }

    public List<ResourceItem> getResourceList() {
        return resourceList;
    }

    public void setResourceList(List<ResourceItem> resourceList) {
        this.resourceList = resourceList;
    }

    public String getDeveloperName() {
        return developerName;
    }

    public void setDeveloperName(String developerName) {
        this.developerName = developerName;
    }

    public String getDeveloperPhone() {
        return developerPhone;
    }

    public void setDeveloperPhone(String developerPhone) {
        this.developerPhone = developerPhone;
    }

    public String getDeveloperEmail() {
        return developerEmail;
    }

    public void setDeveloperEmail(String developerEmail) {
        this.developerEmail = developerEmail;
    }

    public String getVehicleType() {
        return vehicleType;
    }

    public void setVehicleType(String vehicleType) {
        this.vehicleType = vehicleType;
    }

    public String getVersion() {
        return version;
    }

    public void setVersion(String version) {
        this.version = version;
    }

    public String getVersionUpdateTime() {
        return versionUpdateTime;
    }

    public void setVersionUpdateTime(String versionUpdateTime) {
        this.versionUpdateTime = versionUpdateTime;
    }

    public String getSupportType() {
        return supportType;
    }

    public void setSupportType(String supportType) {
        this.supportType = supportType;
    }

    public String getNetProtocol() {
        return netProtocol;
    }

    public void setNetProtocol(String netProtocol) {
        this.netProtocol = netProtocol;
    }

    public String getQqGroupNo() {
        return qqGroupNo;
    }

    public void setQqGroupNo(String qqGroupNo) {
        this.qqGroupNo = qqGroupNo;
    }

    public String getPackageName() {
        return packageName;
    }

    public void setPackageName(String packageName) {
        this.packageName = packageName;
    }

    public String getDownloadUrl() {
        return downloadUrl;
    }

    public void setDownloadUrl(String downloadUrl) {
        this.downloadUrl = downloadUrl;
    }

    public String getAppType() {
        return appType;
    }

    public void setAppType(String appType) {
        this.appType = appType;
    }

    public void copy(AppDetailSku source) {
        this.skuId = source.skuId;
        this.skuCode = source.skuCode;
        this.skuName = source.skuName;
        this.productPrice = source.productPrice;
        this.categoryAttr = source.categoryAttr;
        if (null != source.categoryAttr) {
            this.categoryAttr = new LinkedList<>();
            for (AppDetailSkuCategory item : source.categoryAttr) {
                AppDetailSkuCategory n = new AppDetailSkuCategory();
                n.copy(item);
                this.categoryAttr.add(n);
            }
        }
        this.labelList = new LinkedList<>();
        for (LabelItem item : source.labelList) {
            LabelItem n = new LabelItem();
            n.copy(item);
            this.labelList.add(n);
        }
        this.resourceList = new LinkedList<>();
        for (ResourceItem item : source.resourceList) {
            ResourceItem n = new ResourceItem();
            n.copy(item);
            this.resourceList.add(n);
        }
        this.developerName = source.developerName;
        this.developerPhone = source.developerPhone;
        this.developerEmail = source.developerEmail;
        this.vehicleType = source.vehicleType;
        this.version = source.version;
        this.versionUpdateTime = source.versionUpdateTime;
        this.supportType = source.supportType;
        this.netProtocol = source.netProtocol;
        this.qqGroupNo = source.qqGroupNo;
        this.packageName = source.packageName;
        this.appType = source.appType;
        this.downloadUrl = source.downloadUrl;
    }
}
